home *** CD-ROM | disk | FTP | other *** search
- package Local.Game.Thing
- {
- import Local.Game.World.*;
- import Local.Game.World.Map.*;
- import Local.Game.World.Map.Cell.*;
- import Local.Math.*;
- import STC9.System.*;
- import flash.display.*;
- import flash.events.*;
- import flash.geom.*;
-
- public class CShotClusterBomb extends CShot
- {
-
-
- private var mPath:CPath;
-
- private var mFlare:CThingAnimation;
-
- public function CShotClusterBomb(param1:*)
- {
- var _loc2_:CPosition = null;
- if(true)
- {
- _loc2_ = param1 is CPosition ? param1 : param1.mPosition;
- super(new CPosition(_loc2_.x,-200));
- mType = "clusterbomb";
- Process = Process_Normal;
- mAngle = CAngle.AsAngle256(64);
- mDelta = new CPosition(0,10);
- mMaxLife = mLife = 1;
- mOrientation = 1;
- mShowOnMap = true;
- AddAnimation("stand",ClusterBomb,"AddSprite_Black");
- return;
- }
- §§goto(addr18);
- }
-
- override public function Draw() : void
- {
- super.Draw();
- DrawSprite(GetOrientationMatrix());
- }
-
- public function Process_Normal() : void
- {
- var _loc1_:int = 0;
- mDelta.y += 1;
- if(mDelta.y > 20)
- {
- mDelta.y = 20;
- }
- Move(mDelta);
- if(mPosition.y >= 100)
- {
- Explode(mDelta);
- AddThing(new CEffectExplosionSmall(mPosition.Clone()));
- _loc1_ = 80;
- loop0:
- while(true)
- {
- §§push(_loc1_);
- while(§§pop())
- {
- mParent.AddThing(new CShotClusterBombFragment(mPosition.Clone(),mDelta));
- §§push(_loc1_);
- if(true)
- {
- continue loop0;
- }
- }
- Dispose();
- return;
- }
- }
- else
- {
- Process_Children();
- return;
- }
- }
- }
- }
-